package com.ruoyi.lvlian.service;

import java.util.List;

import com.ruoyi.lvlian.domain.DriverInfo;
import com.ruoyi.lvlian.domain.PaymentInfo;
import com.ruoyi.lvlian.dto.PaymentInfoDto;
import com.ruoyi.lvlian.vo.PaymentInfoDashboardVo;
import com.ruoyi.lvlian.vo.PaymentInfoVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 支付信息Service接口
 *
 * @author liyuxi
 * @date 2024-05-13
 */
public interface IPaymentInfoService {
    /**
     * 查询支付信息
     *
     * @param id 支付信息主键
     * @return 支付信息
     */
    public PaymentInfo selectPaymentInfoById(String id);

    /**
     * 查询支付信息列表
     *
     * @param paymentInfo 支付信息
     * @return 支付信息集合
     */
    public List<PaymentInfoVo> selectPaymentInfoList(PaymentInfoDto paymentInfo);

    /**
     * 新增支付信息
     *
     * @param paymentInfo 支付信息
     * @return 结果
     */
    public int insertPaymentInfo(PaymentInfo paymentInfo);

    /**
     * 修改支付信息
     *
     * @param paymentInfo 支付信息
     * @return 结果
     */
    public int updatePaymentInfo(PaymentInfo paymentInfo);

    /**
     * 批量删除支付信息
     *
     * @param ids 需要删除的支付信息主键集合
     * @return 结果
     */
    public int deletePaymentInfoByIds(String[] ids);

    /**
     * 删除支付信息信息
     *
     * @param id 支付信息主键
     * @return 结果
     */
    public int deletePaymentInfoById(String id);

    List<PaymentInfoVo> queryPaymentInfoInvioceList(PaymentInfoDto paymentInfo);

    List<PaymentInfo> importInfo(MultipartFile file, String sheetName, int rows)throws Exception ;

    int bachSave(List<PaymentInfo> dtoList);

    PaymentInfoDashboardVo queryPaymentInfoAgg(String category, String invoiceNum);
}
